$ git help --all
This is accessible from the command line and can also be accessed here W3schools Git Help. Cheers!
We will do an example and then itemize each command with it's definition after.
$ git help --all See 'git help' to read about a specific subcommand Main Porcelain Commands add Add file contents to the index am Apply a series of patches from a mailbox archive Create an archive of files from a named tree bisect Use binary search to find the commit that introduced a bug branch List, create, or delete branches bundle Move objects and refs by archive checkout Switch branches or restore working tree files cherry-pick Apply the changes introduced by some existing commits citool Graphical alternative to git-commit clean Remove untracked files from the working tree clone Clone a repository into a new directory commit Record changes to the repository describe Give an object a human readable name based on an available ref diff Show changes between commits, commit and working tree, etc fetch Download objects and refs from another repository format-patch Prepare patches for e-mail submission gc Cleanup unnecessary files and optimize the local repository gitk The Git repository browser grep Print lines matching a pattern gui A portable graphical interface to Git init Create an empty Git repository or reinitialize an existing one log Show commit logs maintenance Run tasks to optimize Git repository data merge Join two or more development histories together mv Move or rename a file, a directory, or a symlink notes Add or inspect object notes pull Fetch from and integrate with another repository or a local branch push Update remote refs along with associated objects range-diff Compare two commit ranges (e.g. two versions of a branch) rebase Reapply commits on top of another base tip reset Reset current HEAD to the specified state restore Restore working tree files revert Revert some existing commits rm Remove files from the working tree and from the index shortlog Summarize 'git log' output show Show various types of objects sparse-checkout Initialize and modify the sparse-checkout stash Stash the changes in a dirty working directory away status Show the working tree status submodule Initialize, update or inspect submodules switch Switch branches tag Create, list, delete or verify a tag object signed with GPG worktree Manage multiple working trees Ancillary Commands / Manipulators config Get and set repository or global options fast-export Git data exporter fast-import Backend for fast Git data importers filter-branch Rewrite branches mergetool Run merge conflict resolution tools to resolve merge conflicts pack-refs Pack heads and tags for efficient repository access prune Prune all unreachable objects from the object database reflog Manage reflog information remote Manage set of tracked repositories repack Pack unpacked objects in a repository replace Create, list, delete refs to replace objects Ancillary Commands / Interrogators annotate Annotate file lines with commit information blame Show what revision and author last modified each line of a file bugreport Collect information for user to file a bug report count-objects Count unpacked number of objects and their disk consumption difftool Show changes using common diff tools fsck Verifies the connectivity and validity of the objects in the database gitweb Git web interface (web frontend to Git repositories) help Display help information about Git instaweb Instantly browse your working repository in gitweb merge-tree Show three-way merge without touching index rerere Reuse recorded resolution of conflicted merges show-branch Show branches and their commits verify-commit Check the GPG signature of commits verify-tag Check the GPG signature of tags whatchanged Show logs with difference each commit introduces Interacting with Others archimport Import a GNU Arch repository into Git cvsexportcommit Export a single commit to a CVS checkout cvsimport Salvage your data out of another SCM people love to hate cvsserver A CVS server emulator for Git imap-send Send a collection of patches from stdin to an IMAP folder p4 Import from and submit to Perforce repositories quiltimport Applies a quilt patchset onto the current branch request-pull Generates a summary of pending changes send-email Send a collection of patches as emails svn Bidirectional operation between a Subversion repository and Git Low-level Commands / Manipulators apply Apply a patch to files and/or to the index checkout-index Copy files from the index to the working tree commit-graph Write and verify Git commit-graph files commit-tree Create a new commit object hash-object Compute object ID and optionally creates a blob from a file index-pack Build pack index file for an existing packed archive merge-file Run a three-way file merge merge-index Run a merge for files needing merging mktag Creates a tag object mktree Build a tree-object from ls-tree formatted text multi-pack-index Write and verify multi-pack-indexes pack-objects Create a packed archive of objects prune-packed Remove extra objects that are already in pack files read-tree Reads tree information into the index symbolic-ref Read, modify and delete symbolic refs unpack-objects Unpack objects from a packed archive update-index Register file contents in the working tree to the index update-ref Update the object name stored in a ref safely write-tree Create a tree object from the current index Low-level Commands / Interrogators cat-file Provide content or type and size information for repository objects cherry Find commits yet to be applied to upstream diff-files Compares files in the working tree and the index diff-index Compare a tree to the working tree or index diff-tree Compares the content and mode of blobs found via two tree objects for-each-ref Output information on each ref for-each-repo Run a Git command on a list of repositories get-tar-commit-id Extract commit ID from an archive created using git-archive ls-files Show information about files in the index and the working tree ls-remote List references in a remote repository ls-tree List the contents of a tree object merge-base Find as good common ancestors as possible for a merge name-rev Find symbolic names for given revs pack-redundant Find redundant pack files rev-list Lists commit objects in reverse chronological order rev-parse Pick out and massage parameters show-index Show packed archive index show-ref List references in a local repository unpack-file Creates a temporary file with a blob's contents var Show a Git logical variable verify-pack Validate packed Git archive files Low-level Commands / Syncing Repositories daemon A really simple server for Git repositories fetch-pack Receive missing objects from another repository http-backend Server side implementation of Git over HTTP send-pack Push objects over Git protocol to another repository update-server-info Update auxiliary info file to help dumb servers Low-level Commands / Internal Helpers check-attr Display gitattributes information check-ignore Debug gitignore / exclude files check-mailmap Show canonical names and email addresses of contacts check-ref-format Ensures that a reference name is well formed column Display data in columns credential Retrieve and store user credentials credential-cache Helper to temporarily store passwords in memory credential-store Helper to store credentials on disk fmt-merge-msg Produce a merge commit message interpret-trailers Add or parse structured information in commit messages mailinfo Extracts patch and authorship from a single e-mail message mailsplit Simple UNIX mbox splitter program merge-one-file The standard helper program to use with git-merge-index patch-id Compute unique ID for a patch sh-i18n Git's i18n setup code for shell scripts sh-setup Common Git shell script setup code stripspace Remove unnecessary whitespace External commands askyesno credential-helper-selector flow lfs
Ok now for an example. Like it says you can use 'git help <command>' in a terminal to read the manual about a specific subcommand. It includes the flags but is quite wordy. You can also quickly look at flags by doing 'git <command> -help' Let's search through the flags for git commit.
git commit -help usage: git commit [] [--] ... -q, --quiet suppress summary after successful commit -v, --verbose show diff in commit message template Commit message options -F, --file read message from file --author override author for commit --date override date for commit -m, --message commit message -c, --reedit-message reuse and edit message from specified commit -C, --reuse-message reuse message from specified commit --fixup use autosquash formatted message to fixup specified commit --squash use autosquash formatted message to squash specified commit --reset-author the commit is authored by me now (used with -C/-c/--amend) -s, --signoff add a Signed-off-by trailer -t, --template use specified template file -e, --edit force edit of commit --cleanup how to strip spaces and #comments from message --status include status in commit message template -S, --gpg-sign[= ] GPG sign commit Commit contents options -a, --all commit all changed files -i, --include add specified files to index for commit --interactive interactively add files -p, --patch interactively add changes -o, --only commit only specified files -n, --no-verify bypass pre-commit and commit-msg hooks --dry-run show what would be committed --short show status concisely --branch show branch information --ahead-behind compute full ahead/behind values --porcelain machine-readable output --long show status in long format (default) -z, --null terminate entries with NUL --amend amend previous commit --no-post-rewrite bypass post-rewrite hook -u, --untracked-files[= ] show untracked files, optional modes: all, normal, no. (Default: all) --pathspec-from-file read pathspec from file --pathspec-file-nul with --pathspec-from-file, pathspec elements are separated with NUL character
You can really learn a lot about git by going through the commands and manuals. Now that you know how to search for help, let's get on to the definitions of each command.
Main Porcelain Commands
These are the most commonly used Git commands that you will interact with on a daily basis:
add
Add file contents to the index (staging area). This command is used to add changes in the working directory to the staging area.
git add <file>
am
Apply a series of patches from a mailbox. This command is used to apply patches created by git format-patch
.
git am <patch-file>
archive
Create an archive of files from a named tree. This command is used to create a tar or zip archive of the files in the repository.
git archive --format=tar --output=archive.tar HEAD
bisect
Use binary search to find the commit that introduced a bug. This command helps you find the commit that introduced a bug by performing a binary search.
git bisect start
git bisect bad
git bisect good <commit>
branch
List, create, or delete branches. This command is used to manage branches in your repository.
git branch
git branch <branch-name>
git branch -d <branch-name>
bundle
Move objects and refs by archive. This command is used to create a single file containing all the objects and references in a repository.
git bundle create <file> <branch>
checkout
Switch branches or restore working tree files. This command is used to switch branches or restore files in the working directory.
git checkout <branch-name>
git checkout -- <file>
cherry-pick
Apply the changes introduced by some existing commits. This command is used to apply changes from a specific commit to the current branch.
git cherry-pick <commit>
citool
Graphical alternative to git-commit. This command opens a graphical interface for committing changes.
git citool
clean
Remove untracked files from the working tree. This command is used to remove untracked files and directories from the working directory.
git clean -f
git clean -fd
clone
Clone a repository into a new directory. This command is used to create a copy of an existing repository.
git clone <repository-url>
commit
Record changes to the repository. This command is used to save changes from the staging area to the repository.
git commit -m "Commit message"
describe
Give an object a human-readable name based on an available ref. This command is used to find the most recent tag that is reachable from a commit.
git describe --tags
diff
Show changes between commits, commit and working tree, etc. This command is used to show the differences between commits, branches, or files.
git diff
git diff <commit>
git diff <branch>
fetch
Download objects and refs from another repository. This command is used to download changes from a remote repository.
git fetch <remote>
format-patch
Prepare patches for e-mail submission. This command is used to create patch files from commits.
git format-patch <commit-range>
gc
Cleanup unnecessary files and optimize the local repository. This command is used to clean up and optimize the repository.
git gc
gitk
The Git repository browser. This command opens a graphical interface to browse the repository history.
gitk
grep
Print lines matching a pattern. This command is used to search for text patterns in the repository files.
git grep <pattern>
gui
A portable graphical interface to Git. This command opens a graphical interface for Git operations.
git gui
init
Create an empty Git repository or reinitialize an existing one. This command is used to create a new Git repository.
git init
log
Show commit logs. This command is used to display the commit history.
git log
maintenance
Run tasks to optimize Git repository data. This command is used to perform maintenance tasks on the repository.
git maintenance run
merge
Join two or more development histories together. This command is used to merge branches.
git merge <branch>
mv
Move or rename a file, a directory, or a symlink. This command is used to move or rename files and directories.
git mv <old-path> <new-path>
notes
Add or inspect object notes. This command is used to add or view notes attached to objects.
git notes add
git notes show
pull
Fetch from and integrate with another repository or a local branch. This command is used to fetch and merge changes from a remote repository.
git pull <remote> <branch>
push
Update remote refs along with associated objects. This command is used to upload local changes to a remote repository.
git push <remote> <branch>
range-diff
Compare two commit ranges (e.g., two versions of a branch). This command is used to compare two ranges of commits.
git range-diff <range1> <range2>
rebase
Reapply commits on top of another base tip. This command is used to move or combine a sequence of commits to a new base commit.
git rebase <base-branch>
reset
Reset current HEAD to the specified state. This command is used to undo changes by resetting the current branch to a previous state.
git reset <commit>
restore
Restore working tree files. This command is used to restore files in the working directory to their state in the index or a commit.
git restore <file>
revert
Revert some existing commits. This command is used to create a new commit that undoes the changes made by previous commits.
git revert <commit>
rm
Remove files from the working tree and from the index. This command is used to remove files from the working directory and the index.
git rm <file>
shortlog
Summarize 'git log' output. This command is used to summarize the commit history.
git shortlog
show
Show various types of objects. This command is used to display information about objects in the repository.
git show <object>
sparse-checkout
Initialize and modify the sparse-checkout. This command is used to control which files are checked out in a sparse-checkout.
git sparse-checkout init
git sparse-checkout set <file>
stash
Stash the changes in a dirty working directory away. This command is used to save changes in the working directory and index temporarily.
git stash
git stash pop
status
Show the working tree status. This command is used to display the state of the working directory and the staging area.
git status
submodule
Initialize, update or inspect submodules. This command is used to manage submodules in a repository.
git submodule init
git submodule update
switch
Switch branches. This command is used to switch branches in the working directory.
git switch <branch>
tag
Create, list, delete or verify a tag object signed with GPG. This command is used to manage tags in a repository.
git tag
git tag -a <tag-name> -m "Message"
git tag -d <tag-name>
worktree
Manage multiple working trees. This command is used to manage multiple working trees attached to the same repository.
git worktree add <path> <branch>
Ancillary Commands / Manipulators
These commands are used to manipulate the repository in various ways:
config
Get and set repository or global options. This command is used to configure Git settings.
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
fast-export
Git data exporter. This command is used to export Git data to a fast-import stream.
git fast-export <commit-range>
fast-import
Backend for fast Git data importers. This command is used to import data into Git from a fast-import stream.
git fast-import <data-file>
filter-branch
Rewrite branches. This command is used to rewrite branches by applying filters to each commit.
git filter-branch --env-filter 'GIT_AUTHOR_NAME="New Author"; GIT_AUTHOR_EMAIL="new.email@example.com"; GIT_COMMITTER_NAME="New Author"; GIT_COMMITTER_EMAIL="new.email@example.com";' HEAD
mergetool
Run merge conflict resolution tools to resolve merge conflicts. This command is used to run a merge tool to resolve conflicts.
git mergetool
pack-refs
Pack heads and tags for efficient repository access. This command is used to pack references in a repository.
git pack-refs --all
prune
Prune all unreachable objects from the object database. This command is used to remove unreachable objects from the repository.
git prune
reflog
Manage reflog information. This command is used to manage the reference logs.
git reflog
remote
Manage set of tracked repositories. This command is used to manage remote repositories.
git remote add <name> <url>
git remote remove <name>
repack
Pack unpacked objects in a repository. This command is used to pack unpacked objects in the repository.
git repack -a -d -l
replace
Create, list, delete refs to replace objects. This command is used to create, list, or delete replacement refs.
git replace <object> <replacement>
Ancillary Commands / Interrogators
These commands are used to interrogate the repository and gather information:
annotate
Annotate file lines with commit information. This command is used to show which commit last modified each line of a file.
git annotate <file>
blame
Show what revision and author last modified each line of a file. This command is used to show which commit and author last modified each line of a file.
git blame <file>
bugreport
Collect information for user to file a bug report. This command is used to collect information for filing a bug report.
git bugreport
count-objects
Count unpacked number of objects and their disk consumption. This command is used to count the number of unpacked objects and their disk usage.
git count-objects
difftool
Show changes using common diff tools. This command is used to show changes using an external diff tool.
git difftool
fsck
Verifies the connectivity and validity of the objects in the database. This command is used to check the integrity of the repository.
git fsck
gitweb
Git web interface (web frontend to Git repositories). This command is used to set up a web interface for browsing the repository.
gitweb
help
Display help information about Git. This command is used to display help information about Git commands.
git help <command>
instaweb
Instantly browse your working repository in gitweb. This command is used to start a web server to browse the repository.
git instaweb
merge-tree
Show three-way merge without touching index. This command is used to show the result of a three-way merge without affecting the index.
git merge-tree <base> <branch1> <branch2>
rerere
Reuse recorded resolution of conflicted merges. This command is used to reuse recorded resolutions of merge conflicts.
git rerere
show-branch
Show branches and their commits. This command is used to show branches and their commits.
git show-branch
verify-commit
Check the GPG signature of commits. This command is used to verify the GPG signature of commits.
git verify-commit <commit>
verify-tag
Check the GPG signature of tags. This command is used to verify the GPG signature of tags.
git verify-tag <tag>
whatchanged
Show logs with difference each commit introduces. This command is used to show logs with the differences introduced by each commit.
git whatchanged
Interacting with Others
These commands are used to interact with other repositories and systems:
archimport
Import a GNU Arch repository into Git. This command is used to import a GNU Arch repository into Git.
git archimport <repository>
cvsexportcommit
Export a single commit to a CVS checkout. This command is used to export a single commit to a CVS checkout.
git cvsexportcommit <commit>
cvsimport
This command is used to import data from a CVS repository into Git.
git cvsimport -d :pserver:anonymous@cvs.example.com:/cvsroot co -r HEAD
cvsserver
A CVS server emulator for Git. This command is used to provide a CVS server interface for a Git repository.
git cvsserver
imap-send
Send a collection of patches from stdin to an IMAP folder. This command is used to send patches via IMAP.
git imap-send
p4
Import from and submit to Perforce repositories. This command is used to interact with Perforce repositories.
git p4 clone //depot/path/project
quiltimport
Applies a quilt patchset onto the current branch. This command is used to apply a series of patches from a quilt patchset.
git quiltimport <patch-directory>
request-pull
Generates a summary of pending changes. This command is used to generate a summary of changes to be sent to another repository.
git request-pull <start> <url> <end>
send-email
Send a collection of patches as emails. This command is used to send patches via email.
git send-email --to=<recipient> <patches>
svn
Bidirectional operation between a Subversion repository and Git. This command is used to interact with Subversion repositories.
git svn clone <svn-repo-url>
Low-level Commands / Manipulators
These commands are used to manipulate the repository at a low level:
apply
Apply a patch to files and/or to the index. This command is used to apply a patch file to the working directory or index.
git apply <patch-file>
checkout-index
Copy files from the index to the working tree. This command is used to copy files from the index to the working directory.
git checkout-index --all
commit-graph
Write and verify Git commit-graph files. This command is used to create and verify commit-graph files.
git commit-graph write --reachable
commit-tree
Create a new commit object. This command is used to create a new commit object from a tree object.
git commit-tree <tree> -m "Commit message"
hash-object
Compute object ID and optionally creates a blob from a file. This command is used to compute the object ID for a file and optionally create a blob object.
git hash-object -w <file>
index-pack
Build pack index file for an existing packed archive. This command is used to create an index file for a pack file.
git index-pack <pack-file>
merge-file
Run a three-way file merge. This command is used to perform a three-way merge of files.
git merge-file <file1> <base-file> <file2>
merge-index
Run a merge for files needing merging. This command is used to merge files that need merging.
git merge-index <merge-program> <file-list>
mktag
Creates a tag object. This command is used to create a tag object.
git mktag <tag-file>
mktree
Build a tree-object from ls-tree formatted text. This command is used to create a tree object from ls-tree formatted text.
git mktree <tree-file>
multi-pack-index
Write and verify multi-pack-indexes. This command is used to create and verify multi-pack-indexes.
git multi-pack-index write
pack-objects
Create a packed archive of objects. This command is used to create a pack file containing objects.
git pack-objects <pack-file>
prune-packed
Remove extra objects that are already in pack files. This command is used to remove objects that are already packed.
git prune-packed
read-tree
Reads tree information into the index. This command is used to read tree objects into the index.
git read-tree <tree>
symbolic-ref
Read, modify and delete symbolic refs. This command is used to manage symbolic refs.
git symbolic-ref <ref> <target>
unpack-objects
Unpack objects from a packed archive. This command is used to unpack objects from a pack file.
git unpack-objects <pack-file>
update-index
Register file contents in the working tree to the index. This command is used to update the index with the contents of the working directory.
git update-index --add <file>
update-ref
Update the object name stored in a ref safely. This command is used to update the reference to an object.
git update-ref <ref> <object>
write-tree
Create a tree object from the current index. This command is used to create a tree object from the index.
git write-tree
Low-level Commands / Interrogators
These commands are used to gather information from the repository:
cat-file
Provide content or type and size information for repository objects. This command is used to display information about objects in the repository.
git cat-file -p <object>
cherry
Find commits yet to be applied to upstream. This command is used to find commits that have not been applied to the upstream branch.
git cherry <upstream> <branch>
diff-files
Compares files in the working tree and the index. This command is used to compare the working directory with the index.
git diff-files
diff-index
Compare a tree to the working tree or index. This command is used to compare a tree object with the working directory or index.
git diff-index <tree>
diff-tree
Compares the content and mode of blobs found via two tree objects. This command is used to compare the contents of two tree objects.
git diff-tree <tree1> <tree2>
for-each-ref
Output information on each ref. This command is used to display information about each reference in the repository.
git for-each-ref
for-each-repo
Run a Git command on a list of repositories. This command is used to run a Git command on multiple repositories.
git for-each-repo <command>
get-tar-commit-id
Extract commit ID from an archive created using git-archive. This command is used to extract the commit ID from a tar archive.
git get-tar-commit-id <archive>
ls-files
Show information about files in the index and the working tree. This command is used to display information about files in the index and working directory.
git ls-files
ls-remote
List references in a remote repository. This command is used to display references in a remote repository.
git ls-remote <remote>
ls-tree
List the contents of a tree object. This command is used to display the contents of a tree object.
git ls-tree <tree>
merge-base
Find as good common ancestors as possible for a merge. This command is used to find common ancestors for a merge.
git merge-base <commit1> <commit2>
name-rev
Find symbolic names for given revs. This command is used to find symbolic names for revisions.
git name-rev <commit>
pack-redundant
Find redundant pack files. This command is used to find redundant pack files in the repository.
git pack-redundant <pack-files>
rev-list
Lists commit objects in reverse chronological order. This command is used to list commit objects in reverse chronological order.
git rev-list <commit-range>
rev-parse
Pick out and massage parameters. This command is used to parse revision parameters.
git rev-parse <revision>
show-index
Show packed archive index. This command is used to display the index of a pack file.
git show-index <pack-file>
show-ref
List references in a local repository. This command is used to display references in a local repository.
git show-ref
unpack-file
Creates a temporary file with a blob's contents. This command is used to create a temporary file with the contents of a blob object.
git unpack-file <blob>
var
Show a Git logical variable. This command is used to display the value of a Git logical variable.
git var <variable>
verify-pack
Validate packed Git archive files. This command is used to verify the integrity of pack files.
git verify-pack <pack-file>
Low-level Commands / Syncing Repositories
These commands are used to synchronize repositories:
daemon
A really simple server for Git repositories. This command is used to start a simple server for Git repositories.
git daemon --reuseaddr --base-path=/path/to/repo /path/to/repo
fetch-pack
Receive missing objects from another repository. This command is used to fetch missing objects from another repository.
git fetch-pack <repository>
http-backend
Server side implementation of Git over HTTP. This command is used to provide a server-side implementation of Git over HTTP.
git http-backend
send-pack
Push objects over Git protocol to another repository. This command is used to push objects to another repository.
git send-pack <repository>
update-server-info
Update auxiliary info file to help dumb servers. This command is used to update auxiliary information files for dumb servers.
git update-server-info
Low-level Commands / Internal Helpers
These commands are used internally by Git and are not typically used directly by users:
check-attr
Display gitattributes information. This command is used to display information about gitattributes.
git check-attr <attribute> -- <file>
check-ignore
Debug gitignore / exclude files. This command is used to debug gitignore and exclude files.
git check-ignore -v <file>
check-mailmap
Show canonical names and email addresses of contacts. This command is used to display canonical names and email addresses from the mailmap.
git check-mailmap <contact>
check-ref-format
Ensures that a reference name is well formed. This command is used to check if a reference name is well-formed.
git check-ref-format <refname>
column
Display data in columns. This command is used to format output into columns.
git column <options>
credential
Retrieve and store user credentials. This command is used to manage user credentials.
git credential fill
git credential approve
git credential reject
credential-cache
Helper to temporarily store passwords in memory. This command is used to cache credentials in memory.
git credential-cache <options>
credential-store
Helper to store credentials on disk. This command is used to store credentials on disk.
git credential-store <options>
fmt-merge-msg
Produce a merge commit message. This command is used to format a merge commit message.
git fmt-merge-msg <options>
interpret-trailers
Add or parse structured information in commit messages. This command is used to add or parse trailers in commit messages.
git interpret-trailers <options>
mailinfo
Extracts patch and authorship from a single e-mail message. This command is used to extract patch information from an email message.
git mailinfo <options>
mailsplit
Simple UNIX mbox splitter program. This command is used to split an mbox file into individual messages.
git mailsplit <options>
merge-one-file
The standard helper program to use with git-merge-index. This command is used as a helper for git-merge-index.
git merge-one-file <options>
patch-id
Compute unique ID for a patch. This command is used to compute a unique ID for a patch.
git patch-id <options>
sh-i18n
Git's i18n setup code for shell scripts. This command is used for internationalization setup in shell scripts.
git sh-i18n <options>
sh-setup
Common Git shell script setup code. This command is used for common setup in Git shell scripts.
git sh-setup <options>
stripspace
Remove unnecessary whitespace. This command is used to remove unnecessary whitespace from input.
git stripspace <options>
External commands
These are external commands that can be used with Git:
askyesno
Prompt the user for a yes/no answer. This command is used to prompt the user for a yes/no answer.
git askyesno <prompt>
credential-helper-selector
Select a credential helper. This command is used to select a credential helper.
git credential-helper-selector <options>
Salvage your data out of another SCM people love to hate. This command is used to import data from a CVS repository into Git.
git cvsimport -d :pserver:anonymous@cvs.example.com:/cvsroot co -r HEAD
cvsserver
A CVS server emulator for Git. This command is used to provide a CVS server interface for a Git repository.
git cvsserver
imap-send
Send a collection of patches from stdin to an IMAP folder. This command is used to send patches via IMAP.
git imap-send
p4
Import from and submit to Perforce repositories. This command is used to interact with Perforce repositories.
git p4 clone //depot/path/project
quiltimport
Applies a quilt patchset onto the current branch. This command is used to apply a series of patches from a quilt patchset.
git quiltimport <patch-directory>
request-pull
Generates a summary of pending changes. This command is used to generate a summary of changes to be sent to another repository.
git request-pull <start> <url> <end>
send-email
Send a collection of patches as emails. This command is used to send patches via email.
git send-email --to=<recipient> <patches>
svn
Bidirectional operation between a Subversion repository and Git. This command is used to interact with Subversion repositories.
git svn clone <svn-repo-url>
Low-level Commands / Manipulators
These commands are used to manipulate the repository at a low level:
apply
Apply a patch to files and/or to the index. This command is used to apply a patch file to the working directory or index.
git apply <patch-file>
checkout-index
Copy files from the index to the working tree. This command is used to copy files from the index to the working directory.
git checkout-index --all
commit-graph
Write and verify Git commit-graph files. This command is used to create and verify commit-graph files.
git commit-graph write --reachable
commit-tree
Create a new commit object. This command is used to create a new commit object from a tree object.
git commit-tree <tree> -m "Commit message"
hash-object
Compute object ID and optionally creates a blob from a file. This command is used to compute the object ID for a file and optionally create a blob object.
git hash-object -w <file>
index-pack
Build pack index file for an existing packed archive. This command is used to create an index file for a pack file.
git index-pack <pack-file>
merge-file
Run a three-way file merge. This command is used to perform a three-way merge of files.
git merge-file <file1> <base-file> <file2>
merge-index
Run a merge for files needing merging. This command is used to merge files that need merging.
git merge-index <merge-program> <file-list>
mktag
Creates a tag object. This command is used to create a tag object.
git mktag <tag-file>
mktree
Build a tree-object from ls-tree formatted text. This command is used to create a tree object from ls-tree formatted text.
git mktree <tree-file>
multi-pack-index
Write and verify multi-pack-indexes. This command is used to create and verify multi-pack-indexes.
git multi-pack-index write
pack-objects
Create a packed archive of objects. This command is used to create a pack file containing objects.
git pack-objects <pack-file>
prune-packed
Remove extra objects that are already in pack files. This command is used to remove objects that are already packed.
git prune-packed
read-tree
Reads tree information into the index. This command is used to read tree objects into the index.
git read-tree <tree>
symbolic-ref
Read, modify and delete symbolic refs. This command is used to manage symbolic refs.
git symbolic-ref <ref> <target>
unpack-objects
Unpack objects from a packed archive. This command is used to unpack objects from a pack file.
git unpack-objects <pack-file>
update-index
Register file contents in the working tree to the index. This command is used to update the index with the contents of the working directory.
git update-index --add <file>
update-ref
Update the object name stored in a ref safely. This command is used to update the reference to an object.
git update-ref <ref> <object>
write-tree
Create a tree object from the current index. This command is used to create a tree object from the index.
git write-tree
Low-level Commands / Interrogators
These commands are used to gather information from the repository:
cat-file
Provide content or type and size information for repository objects. This command is used to display information about objects in the repository.
git cat-file -p <object>
cherry
Find commits yet to be applied to upstream. This command is used to find commits that have not been applied to the upstream branch.
git cherry <upstream> <branch>
diff-files
Compares files in the working tree and the index. This command is used to compare the working directory with the index.
git diff-files
diff-index
Compare a tree to the working tree or index. This command is used to compare a tree object with the working directory or index.
git diff-index <tree>
diff-tree
Compares the content and mode of blobs found via two tree objects. This command is used to compare the contents of two tree objects.
git diff-tree <tree1> <tree2>
for-each-ref
Output information on each ref. This command is used to display information about each reference in the repository.
git for-each-ref
for-each-repo
Run a Git command on a list of repositories. This command is used to run a Git command on multiple repositories.
git for-each-repo <command>
get-tar-commit-id
Extract commit ID from an archive created using git-archive. This command is used to extract the commit ID from a tar archive.
git get-tar-commit-id <archive>
ls-files
Show information about files in the index and the working tree. This command is used to display information about files in the index and working directory.
git ls-files
ls-remote
List references in a remote repository. This command is used to display references in a remote repository.
git ls-remote <remote>
ls-tree
List the contents of a tree object. This command is used to display the contents of a tree object.
git ls-tree <tree>
merge-base
Find as good common ancestors as possible for a merge. This command is used to find common ancestors for a merge.
git merge-base <commit1> <commit2>
name-rev
Find symbolic names for given revs. This command is used to find symbolic names for revisions.
git name-rev <commit>
pack-redundant
Find redundant pack files. This command is used to find redundant pack files in the repository.
git pack-redundant <pack-files>
rev-list
Lists commit objects in reverse chronological order. This command is used to list commit objects in reverse chronological order.
git rev-list <commit-range>
rev-parse
Pick out and massage parameters. This command is used to parse revision parameters.
git rev-parse <revision>
show-index
Show packed archive index. This command is used to display the index of a pack file.
git show-index <pack-file>
show-ref
List references in a local repository. This command is used to display references in a local repository.
git show-ref
unpack-file
Creates a temporary file with a blob's contents. This command is used to create a temporary file with the contents of a blob object.
git unpack-file <blob>
var
Show a Git logical variable. This command is used to display the value of a Git logical variable.
git var <variable>
verify-pack
Validate packed Git archive files. This command is used to verify the integrity of pack files.
git verify-pack <pack-file>
Low-level Commands / Syncing Repositories
These commands are used to synchronize repositories:
daemon
A really simple server for Git repositories. This command is used to start a simple server for Git repositories.
git daemon --reuseaddr --base-path=/path/to/repo /path/to/repo
fetch-pack
Receive missing objects from another repository. This command is used to fetch missing objects from another repository.
git fetch-pack <repository>
http-backend
Server side implementation of Git over HTTP. This command is used to provide a server-side implementation of Git over HTTP.
git http-backend
send-pack
Push objects over Git protocol to another repository. This command is used to push objects to another repository.
git send-pack <repository>
update-server-info
Update auxiliary info file to help dumb servers. This command is used to update auxiliary information files for dumb servers.
git update-server-info
Low-level Commands / Internal Helpers
These commands are used internally by Git and are not typically used directly by users:
check-attr
Display gitattributes information. This command is used to display information about gitattributes.
git check-attr <attribute> -- <file>
check-ignore
Debug gitignore / exclude files. This command is used to debug gitignore and exclude files.
git check-ignore -v <file>
check-mailmap
Show canonical names and email addresses of contacts. This command is used to display canonical names and email addresses from the mailmap.
git check-mailmap <contact>
check-ref-format
Ensures that a reference name is well formed. This command is used to check if a reference name is well-formed.
git check-ref-format <refname>
column
Display data in columns. This command is used to format output into columns.
git column <options>
credential
Retrieve and store user credentials. This command is used to manage user credentials.
git credential fill
git credential approve
git credential reject
credential-cache
Helper to temporarily store passwords in memory. This command is used to cache credentials in memory.
git credential-cache <options>
credential-store
Helper to store credentials on disk. This command is used to store credentials on disk.
git credential-store <options>
fmt-merge-msg
Produce a merge commit message. This command is used to format a merge commit message.
git fmt-merge-msg <options>
interpret-trailers
Add or parse structured information in commit messages. This command is used to add or parse trailers in commit messages.
git interpret-trailers <options>
mailinfo
Extracts patch and authorship from a single e-mail message. This command is used to extract patch information from an email message.
git mailinfo <options>
mailsplit
Simple UNIX mbox splitter program. This command is used to split an mbox file into individual messages.
git mailsplit <options>
merge-one-file
The standard helper program to use with git-merge-index. This command is used as a helper for git-merge-index.
git merge-one-file <options>
patch-id
Compute unique ID for a patch. This command is used to compute a unique ID for a patch.
git patch-id <options>
sh-i18n
Git's i18n setup code for shell scripts. This command is used for internationalization setup in shell scripts.
git sh-i18n <options>
sh-setup
Common Git shell script setup code. This command is used for common setup in Git shell scripts.
git sh-setup <options>
stripspace
Remove unnecessary whitespace. This command is used to remove unnecessary whitespace from input.
git stripspace <options>
External commands
These are external commands that can be used with Git:
askyesno
Prompt the user for a yes/no answer. This command is used to prompt the user for a yes/no answer.
git askyesno <prompt>
credential-helper-selector
Select a credential helper. This command is used to select a credential helper for Git.
git credential-helper-selector
flow
Git extensions to provide high-level repository operations for Vincent Driessen's branching model.
git flow <subcommand>
lfs
Git extension for versioning large files. This command is used to manage large files with Git.
git lfs <subcommand>
Check out some other Bands on Bandcamp.com. Crazy Fingers (Vancouver 1991), Flying Butt Pliers, and Hammy Ham Hands.
Proudly powered by a Text Editor, an Sftp client and some Internet Searches.
2024 dispelled.ca end of file.